package com.ddh.ddhsanguogame.utils;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
 * 密码工具类，提供密码加密和验证功能。
 */
public class PasswordUtil {

    // 创建 BCryptPasswordEncoder 实例，用于密码的加密和验证
    private static final BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();

    /**
     * 对明文密码进行加密。
     *
     * @param rawPassword 明文密码（用户输入的原始密码）
     * @return 加密后的密码字符串
     */
    public static String encode(String rawPassword) {
        return encoder.encode(rawPassword);
    }

    /**
     * 验证明文密码和加密后的密码是否匹配。
     *
     * @param rawPassword    明文密码（用户输入的原始密码）
     * @param encodedPassword 加密后的密码（存储在数据库中的密码）
     * @return 如果密码匹配则返回 true，否则返回 false
     */
    public static boolean matches(String rawPassword, String encodedPassword) {
        return encoder.matches(rawPassword, encodedPassword);
    }
}
